package oa.hleast.xswl.service.place;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import oa.hleast.xswl.pojo.domain.place.CmsPlaceInfo;
import oa.hleast.xswl.pojo.form.place.CmsPlaceInfoCommentForm;
import oa.hleast.xswl.pojo.form.place.CmsPlaceInfoForm;
import oa.hleast.xswl.pojo.vo.place.CmsPlaceInfoAttrValueVo;
import oa.hleast.xswl.pojo.vo.place.CmsPlaceInfoCommentVo;
import oa.hleast.xswl.pojo.vo.place.CmsPlaceInfoVo;
import oa.hleast.xswl.pojo.vo.place.ShowPlaceInfoVo;

import java.util.List;

public interface IPlaceInfoService extends IService<CmsPlaceInfo> {

    /**
     * 移动端  获取展示的场所信息列表
     *
     * @return
     */
    List<ShowPlaceInfoVo> findShowPlaceInfo(Long placeTypeId, String name, Integer hasTicket);

    /**
     * 移动端 获取场所详情
     *
     * @param id
     * @return
     */
    CmsPlaceInfoVo getShowDetails(Long id, Long userId);

    boolean copy(List<String> asList, Long newPlaceTypeId);

    boolean add(CmsPlaceInfoForm cmsAppsIconForm);

    boolean update(CmsPlaceInfoForm cmsAppsIconForm);

    Page<CmsPlaceInfoVo> pageList(Integer page, Integer limit, Integer display, String placeName, String placeTypeId);

    boolean deleteByIds(List<String> asList);

    CmsPlaceInfoVo detail(Long id);

    Integer countById(Long id);

    List<CmsPlaceInfo> search(Integer page, Integer limit, String searchKey);

    boolean commentScenicSpot(CmsPlaceInfoCommentForm form, Long userId);

    List<CmsPlaceInfoCommentVo> findCommentList(Long blogId, Long userId);

    boolean cloneComment(Long placeInfoId, Long userId);

    List<CmsPlaceInfoAttrValueVo> getAttrValue(Long placeInfoId);

    List<ShowPlaceInfoVo> findShowPlaceInfoByKey(String configKey);
}
